#pragma once

///////////////////////////////////////////////////////////////////////////
//																		 //
//	Author:		Michael Mozdzierz										 //
//	Date:		12/18/2014												 //
//	Purpose:	Define a human object that can be controled by AI a 	 //
//				local player or a player across a network				 //
//																		 //
///////////////////////////////////////////////////////////////////////////

#include "ControlableGameObject.h"

struct Agent;

class Human : public ControlableGameObject
{
	Agent* agent;

public:
	Human(void);
	virtual ~Human(void);

	virtual void Update(float dt) override;

	virtual void Draw(void) override;

	virtual ObjectID getID(void) const override { return ObjectID::HUMAN; }
	
	virtual Agent* getAgent(void) const override { return agent; }

	virtual void setAgent(Agent* value) override;
};